2f3d180fbd06368092f0a2f4987939af85b9afa1,java/java-impl/src/com/intellij/codeInsight/generation/surroundWith/JavaWithIfExpressionSurrounder.java,JavaWithIfExpressionSurrounder,surroundExpression,#Project#Editor#PsiExpression#,43

Before Change


    PsiExpressionStatement statement = (PsiExpressionStatement)expr.getParent();
    ifStatement = (PsiIfStatement)statement.replace(ifStatement);

    PsiCodeBlock block = ((PsiBlockStatement)ifStatement.getThenBranch()).getCodeBlock();
    block = CodeInsightUtilCore.forcePsiPostprocessAndRestoreElement(block);
    TextRange range = block.getStatements()[0].getTextRange();
    editor.getDocument().deleteString(range.getStartOffset(), range.getEndOffset());

After Change


    PsiExpressionStatement statement = (PsiExpressionStatement)expr.getParent();
    ifStatement = (PsiIfStatement)statement.replace(ifStatement);

    PsiStatement thenBranch = ifStatement.getThenBranch();
    if (thenBranch != null && thenBranch instanceof PsiBlockStatement) {
      PsiCodeBlock block = ((PsiBlockStatement)thenBranch).getCodeBlock();
      block = CodeInsightUtilCore.forcePsiPostprocessAndRestoreElement(block);
      TextRange range = block.getStatements()[0].getTextRange();
      editor.getDocument().deleteString(range.getStartOffset(), range.getEndOffset());
      return TextRange.from(range.getStartOffset(), 0);
    }
    return TextRange.from(editor.getCaretModel().getOffset(), 0);
  }

  @Override